#define _CRT_SECURE_NO_WARNINGS

//#include <cstdlib>
//
//struct ListNode {
//    int val;
//    struct ListNode *next;
//    ListNode(int x) : val(x), next(NULL) {}
//};
//class Partition
//{
//public:
//    ListNode* CreateNode(int val)
//    {
//        ListNode* ret = NULL;
//        ret = (ListNode*)malloc(sizeof(ListNode));
//        ret->next = NULL;
//        ret->val = val;
//        return ret;
//    }
//    ListNode* partition(ListNode* pHead, int x)
//    {
//        ListNode* ptmp = pHead;
//        ListNode* LittleHead = (ListNode*)malloc(sizeof(ListNode));
//        ListNode* LittleTail = LittleHead;
//        ListNode* BigHead = (ListNode*)malloc(sizeof(ListNode));
//        ListNode* BigTail = BigHead;
//
//        for (; pHead; pHead = pHead->next)
//        {
//            if (pHead->val < x)
//            {
//                LittleTail->next = CreateNode(pHead->val);
//                LittleTail = LittleTail->next;
//            }
//            else
//            {
//                BigTail->next = CreateNode(pHead->val);
//                BigTail = BigTail->next;
//            }
//        }
//        LittleTail->next = BigHead->next;
//        ListNode* ret = LittleHead->next;
//        free(LittleHead);
//        free(BigHead);
//        return ret;
//    }
//};
//
//#include <iostream>
//using namespace std;
//
//int main()
//{
//	int a = 0;
//	float f = 0;
//	char c = 0;
//	cin >> a >> f >> c;
//	cout << a << ' ' << f << ' ' << c << endl;
//
//	return 0;
//}
//
//#include <iostream>
//#include <string>
//
//using namespace std;
//
//int main()
//{
//	string s1 = "";
//	cout << s1 << endl;
//	s1.push_back(64);
//	cout << s1 << endl;
//	cout << s1.size() << endl;
//
//	return 0;
//}

#include <iostream>
#include <string>

using namespace std;

int main()
{
	string s;
	//getline(cin, s, 'c');
	//getline(cin, s);
	//cout << s << endl;
	s = "12345  890";
	cout << s.size() << endl;
	cout << s.size() << endl;
	cout << s.size() << endl;
	auto itb = s.begin();
	auto ite = s.end();
	cout << "size = " << ite - itb << endl;
	s.push_back('c');
	cout << *itb << endl;
	cout << *ite << endl;
	string s1 = "abcd";
	string s2("efgh");
	cout << s1 << endl;
	cout << s2 << endl;
	char str[10] = "1234567";
	cout << str << endl;
	s2 = str;
	cout << s2 << endl;
	string sn = "1234";
	std::string::iterator itbsn = sn.begin();
	*itbsn = '5';
	cout << sn << endl;
	cout << sn + "114514" << endl;
	s = "111111";
	s.insert(3, "234");
	cout << s << endl;


	return 0;
}
